package com.hs.srm.admin.modules.harmfulsubstance.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.hs.srm.admin.modules.harmfulsubstance.entity.DeclarationFormItemEntity;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 宣告表VO
 *
 * @author ych
 * @since 2020-03-24 13:29:50
 */
@Setter
@Getter
public class DeclarationFormVO  implements Serializable {


    @TableField("pk_id")
    private String pkId;

    /**
     * 模块名称（物料描述）
     */
    @TableField("material_desc")
    private String materialDesc;

    /**
     * 专用号(物料号)
     */
    @TableField("material_code")
    private String materialCode;

    /**
     * 关联专用号(相关联的物料号，多个以逗号分隔)
     */
    @TableField("relate_material_code")
    private String relateMaterialCode;

    /**
     * 宣告日期
     */
    @TableField("declaration_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date declarationDate;

    /**
     * 有效日期至
     */
    @TableField("expire_date")
    @JSONField(format = "yyyy-MM-dd")
    private Object expireDate;

    /**
     * 申请审核工厂
     */
    @TableField("verify_factory")
    private String verifyFactory;

    /**
     * 校核人
     */
    @TableField("reviewer")
    private String reviewer;

    /**
     * 审核时间
     */
    @TableField("review_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date reviewDate;

    /**
     * 节点状态:0，厚声待审核；1，厚声审核通过；2，厚声审核退回；3，厚声已淘汰
     */
    @TableField("node_status")
    private Integer nodeStatus;

    /**
     * 生效状态:0，未生效；1，生效；2，无效
     */
    @TableField("valid_status")
    private Integer validStatus;

    /**
     * 预警状态：0：正常；1，预警中；2，已超期；-1，审核不通过，不预警（审批通过的才进行预警）
     */
    @TableField("warning_status")
    private Integer warningStatus;

    /**
     * 关联供货工厂
     */
    @TableField("relate_supplier")
    private String relateSupplier;

    /**
     * 供应商编码
     */
    @TableField("relate_supplier")
    private String vendorCode;

    /**
     * 供应商名称
     */
    @TableField("relate_supplier")
    private String vendorName;

    /**
     * QC080000体系：0，通过；1，未通过
     */
    @TableField("relate_supplier")
    private Integer qc080000;

    /**
     * RoHS承诺书编号
     */
    @TableField("guarantee_code")
    private String guaranteeCode;

    /**
     * 模块商联系人
     */
    @TableField("contacter")
    private String contacter;

    /**
     * 联系电话
     */
    @TableField("telephone")
    private String telephone;

    /**
     * 地址
     */
    @TableField("address")
    private String address;

    /**
     * 创建时间
     */
    @TableField("create_date")
    @JSONField(format = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 创建人
     */
    @TableField("creator")
    private String creator;


    /**
     * 宣告表编号
     */
    @TableField("form_code")
    private String formCode;


    /**
     * 子部件名称
     */
    @TableField("comp_name")
    private String compName;

    /**
     * 子部件规格型号
     */
    @TableField("comp_type")
    private String compType;

    /**
     * 子部件供应商
     */
    @TableField("comp_Supplier")
    private String compSupplier;

    /**
     * 子部件数量
     */
    @TableField("comp_quantity")
    private Integer compQuantity;

    /**
     * 子部件重量
     */
    @TableField("comp_weight")
    private String compWeight;

    /**
     * 均质材料名称
     */
    @TableField("homege_name")
    private String homegeName;

    /**
     * 均质材料规格型号
     */
    @TableField("homege_type")
    private String homegeType;

    /**
     * 均质材料重量
     */
    @TableField("homege_weight")
    private String homegeWeight;

    /**
     * 第三方测试-委托单位全称
     */
    @TableField("third_company")
    private String thirdCompany;

    /**
     * 第三方测试-检测机构
     */
    @TableField("third_institution")
    private String thirdInstitution;

    /**
     * 第三方测试-测试报告编号
     */
    @TableField("third_report")
    private String thirdReport;

    /**
     * 第三方测试-报告附件
     */
    @TableField("third_attachment")
    private String thirdAttachment;

    /**
     * 第三方测试-报告日期
     */
    @TableField("third_reportdate")
    @JSONField(format = "yyyy-MM-dd")
    private Date thirdReportdate;

    /**
     * 第三方测试-有效期至
     */
    @TableField("third_expiredate")
    @JSONField(format = "yyyy-MM-dd")
    private Date thirdExpiredate;

    @TableField("pb")
    private String pb;

    @TableField("cd")
    private String cd;

    @TableField("hg")
    private String hg;

    @TableField("cr")
    private String cr;

    @TableField("pbb")
    private String pbb;

    @TableField("pbde")
    private String pbde;

    @TableField("dehp")
    private String dehp;

    @TableField("dbp")
    private String dbp;

    @TableField("bbp")
    private String bbp;

    @TableField("dibp")
    private String dibp;

    /**
     * 是否豁免项
     */
    @TableField("exemption")
    private String exemption;
    /**
     * 宣告表父表id
     */
    @TableField("head_id")
    private String headId;

    /**
     * 宣告表行项目
     */
    private List<DeclarationFormItemEntity> itemList;

}